home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1999 April / macformat-075.iso / Shareware Plus / Games / Hyperspeed 1.1.0 / Documentation / Version history < prev   
Encoding:
Text File  |  1999-01-17  |  44.5 KB  |  687 lines  |  [TEXT/R*ch]

  1. +---------------------------------------------------------------------------------+
  2. | Hyperspeed version history
  3. | Hyperspeed by Yellow Lemon Software, © 1997-99 all rights reserved. 
  4. +---------------------------------------------------------------------------------+
  5.  
  6. This version history is directed mostly towards people with atleast basic programming knowledge, however anyone can find a thing or two to laugh at. It is best viewed using a monospaced font like Monaco-9.
  7.  
  8. Conventions used in this version history:
  9.     * means a bug fix (it may also state the bug if it was discovered in the
  10.       same release as the bug fix was implemented in)
  11.     + means a new feature or a changed feature
  12.     - means a feature has been removed
  13.     ? means a possible feature
  14.     > means a feature that _will_ come
  15.     @ means a bug that has been discovered and not fixed in this release
  16.  
  17. +---------------------------------------------------------------------------------+
  18. | The history so far...
  19. +---------------------------------------------------------------------------------+
  20.  
  21. 1.1.0
  22.     + The purple alien shots have been changed to a bit brighter colors.
  23.     + Hyperspeed no longer requires the display to be set to 832x624 or lower
  24.       resolution (yay!).
  25.     + Hyperspeed now uses Apple's DrawSprocket for resolution changing. Begone
  26.       DDD (Digital Desktop Destroyer).
  27.  
  28. 1.1b5
  29.     + All the screens containing copyright info have been changed to reflect
  30.       that it is now 1999.
  31.     * The paused screen bug has been fixed.
  32.     @ Hyperspeed doesn't run correctly under some resolutions. I don't know why.
  33.  
  34. 1.1b4
  35.     + The spinning devils that attack you now have a bluish tint in their "crust."
  36.  
  37. 1.1b3 - Hopefully fixed some bugs with the screen stuff added in 1.1b2.
  38.  
  39. 1.1b2 - This beta incorporates more screen stuff and more fixes, as well as changed graphics on the ship's shield and slight modifications to the easy level.
  40.  
  41. 1.1b1
  42.     + Full mousemovement support has been added, with ability to select if
  43.       all weapons, the main weapons or only the grenade is fired by the mouse
  44.       button, as well as sensitivity controls (high, medium, low).
  45.     + A new difficulty level has been added. This is what I call the easy level,
  46.       and it is very easy. You can get up to four bonuses on one level, and the
  47.       bonuses appear much more frequently. Also, each alien can take fewer hits
  48.       and the shield lasts longer. Very nice indeed :)
  49.     + Hyperspeed now draws the 1 Up text when you pick up a regular extra life
  50.       in addition to the ones you may receive by picking up the question mark
  51.       bonus.
  52.     + Hyperspeed has improved multiscreen handling, though a bit buggy right now.
  53.     * You now no longer receive the tripple shots when selecting new game via the
  54.       File menu or by pressing Command-N. This was a developmental bug, and used
  55.       as a shortcut by me to test the shots without needing to go through that
  56.       pesky cheat box each and every time... (Cheat box? What cheat box? ;) )
  57.  
  58. 1.0.2
  59.     * A bug with keyboard was fixed. Previously, you could go left/right at the
  60.       very bottom/top of the screen and then keep either the up/down key pressed
  61.       to make the ship keep moving either left or right, without using the left
  62.       or right movement keys.
  63.  
  64. 1.0.1
  65.     + Basic mousemovement capabilites have been added.
  66.  
  67. 1.0 - It is finally here! After more than one year in development, I have finally completed Hyperspeed. I feel rather content right now :) (Also, I'm quite impressed by the volume of this version history...) This release has 50 levels, the final one having a record breaking number of aliens. It's pretty hard as well... Enjoy!
  68.     + Aliens which track the ship (kAlienTrackShipAIType) can now have a
  69.       delay before appearing, in addition to the number of aliens killed delay.
  70.       This delay is set by using the pathID field.
  71.     + Some additional changes to the AI engine, giving other AI types access to
  72.       the delay function as well, either through the pathID or targetIndex fields.
  73.     * Each alien can now reappear only once on the very hard difficulty level.
  74.     * The break-off-and-attack code now allows for aliens using the towards ship
  75.       pattern type to, well, break off.
  76.     * Fixed a bug on the 33 level, with wrongly assigned group numbers.
  77.  
  78. 0.8b - This is going to be the final beta...
  79.     + Two new alien explosion sounds, one sound for grenade firing, and one
  80.       for the level completed screen.
  81.     + Enter/return now selects Save settings on the prefs screen.
  82.     + The needle alien has had its movement constants slightly altered. It is
  83.       now identical in movement to the tracker alien.
  84.     * You no longer get an "extra" life if you die without any at the very end
  85.       of a level.
  86.     * Hyperspeed now checks for high scores again (a bug prevented this in
  87.       v 0.7b).
  88.     * Fixed a number of problems with the extended drawing mode, including
  89.       a bug which, in effect, caused it not to work. I think I have also managed
  90.       to fix the problems with pixel residue.
  91.     * Fixed a bug in the cheat dialog, related to "false clicks."
  92.     * You can now get an extra life if you go above, for instance, 50 000 points
  93.       during the level summary screen. This was previously "not so."
  94.     * Fixed a potential drawing bug with extended drawing on screens larger than
  95.       640x480.
  96.  
  97. 0.7b - I have to date not been able to complete Hyperspeed with its current set of levels (35 in all). I was thinking that I should have 60 levels, but perhaps that may be a bit too much. Time will tell, I guess. Making levels isn't exactly the funniest thing I know of (I think the funniest part is in the naming). Now, what should the end-game-gimmick be?
  98.     + Added and changed some sounds. Hyperspeed now plays a "level completed"
  99.       sound and a bonus pick-up sound, in addition to all the "oldies." In
  100.       addition, the ship explosion sound has been changed.
  101.     + I've added a "demo" mode, which sort of displays the game. It kicks in
  102.       about 30 seconds to 2 minutes after the game has been started. For the
  103.       moment, it is also possible to access it by pressing 'D'. It's quite
  104.       fun to watch the SSC's tactics (or lack thereof..).
  105.     + The alien appear sound has been changed (not the disappear sound, though).
  106.     + The explosions now fade away, as opposed to previously when the individual
  107.       particles just sort of disappeared. This effect applies to _all_ parts
  108.       of the game that uses the explosion engine (which basically means the
  109.       alien and ship explosions, as well as the appearing/disappearing alien
  110.       vortexes). I wonder if that was the correct plural form of "vortex"...
  111.     + I have added a new alien. It was actually meant as a replacement for the
  112.       alien scout, but I didn't like it's appearance in such numbers. I've
  113.       called it the needle alien, and with it comes a new aliens shot. The
  114.       sweep shot.
  115.     * Hyperspeed now plays an explosion sound when the ship crashes into an
  116.       alien while the shield is active.
  117.     * Bonuses should no longer appear to the very left of the screen when you
  118.       killed an alien some other place on the screen. The bug hasn't been
  119.       removed (I don't know what causes it), but the function actually
  120.       creating the bonus has been made to check for this and return if the
  121.       bonus' appearing location is less than 0 for either the vertical or
  122.       horizontal direction.
  123.     * The first spinning devil is in fact introduced on the second level, not
  124.       on the fourth, as I previously stated. My fault! Not that much of a bug
  125.       fix really, more of a correction to this version history. (Gotta have the
  126.       facts right!)
  127.     * I have received positive feedback from my beta testers about the resolution
  128.       changing code. However, there was a bug in the code which caused all
  129.       drawing to be offset in relation to the previous screen size. This has now
  130.       been fixed, and the game should once again be playable. 
  131.  
  132. 0.6b - I'm really annoyed at the 1024x768 screen bug. I have no idea how to fix it. Atleast now I _may_ have code that switches resolution -- but does it work? That's the really big question here at Yellow Lemon Software at the moment.
  133.     + I removed the spinning devil from the first level. It may be a bit too hard
  134.       for beginning Hyperspeed players, and I don't like it that much myself
  135.       either... It is now introduced on the first sweeper level (4).
  136.     + I've added code to handle monitors larger than 1024x768 by changing the
  137.       resolution. Now, all I need to know is if it works or not...
  138.     + Well, what do you know... A new alien! This new alien is of the kind that
  139.       fires shots that are very hard to avoid -- after all, the shots _do_ track
  140.       you all around the screen...
  141.     + Updated help-screen to reflect the new alien.
  142.     + YES. Hyperspeed now has difficulty levels! You can select between normal
  143.       (which is how hard the game has been so far), hard and very hard. The
  144.       aliens fire more often with increasing difficulty levels, as well as
  145.       increased "break off" probability. The maximum number of aliens
  146.       breaking off from a pattern increases from one to two or three, depending
  147.       on the level of difficulty. In addition, on the very hard level, dead
  148.       aliens have a nasty tendency to re-appear (though they only take one shot
  149.       to kill).
  150.     + Hyperspeed now checks the serial number (if any) at start up.
  151.     * The static star-background is now updated correctly after the game has
  152.       been paused.
  153.     * The menubar is now shown immediately after a game ends if the mouse is
  154.       within the menubar area. This was previously "not so".
  155.     * If you have a long name, the entire name is no longer displayed beyond
  156.       the boundaries of the registration box on the main screen. The final part
  157.       of the name is instead substituted with three dots (...). I am not going
  158.       to try the "intelligent" way of doing this by first trying to make the
  159.       text tighter through the condensed font style. No thanks.
  160.  
  161. 0.5b - I have some ideas for radically improved collision detection. In theory, it would work like this: The ship/alien/whatever is represented as a 1-bit mask where the ship/alien/whatever is the "black" part. Then, if a bonus/bullet/alien enter the ship's bounding rect, a second collision detection routine would be called. This routine would do the following:
  162. 1) Copy the 1-bit ship-mask to a gworld.
  163. 2) Calculate a "checksum" of _only_ the black pixels (sort of a count, in its simplest incarnation) in that gworld.
  164. 3) Copy a _white_ "copy" of the bullet to the gworld, the calculate another checksum. Since the bullet is white, if it hit the ship, the checksum will be different from the one calculated in 2), since the number of black pixel will have changed. Thus a collision has occured. Otherwise, the checksum will be equal to the one found in 2), and no hit was detected. Neat, huh? Atleast in theory... Now, if I only could manage to implement it... (Which I won't, since it'd take too much time...)
  165.     + I have settled on an algorithm to calculate serial numbers. Woo-hah!
  166.     + Added an icon for the Hyperspeed folder, by the request of one of my
  167.       beta testers. (You know who you are!) Not a stupid suggestion, I might
  168.       add...
  169.     + Still more levels.
  170.     + Refurbished Credits-screen.
  171.     + Partially redone about box with scrolling credits.
  172.     - I attempted to introduce the same drawing principles to the SSC's shots as
  173.       the one used with the aliens, but it turned out to be considerably slower
  174.       than what I expected, therefore I removed it.
  175.     * You can now no longer lose both the padlock and all the other bonuses when
  176.       you pick up a luring bonus.
  177.     @ Darn, I hate that profiler! It managed to trash the process mgr heap
  178.       _every_time_ you played a game of Hyperspeed. Yuch! And I thought it was
  179.       my near-bulletproof code that had gotten a dangerous disease...
  180.     @ Graphical glitches occur sometimes, without me knowing exactly why. I think
  181.       it is related to the new drawing engine, but I'm not sure... The glitch
  182.       basically involves an alien that is not completely erased after it is
  183.       killed. I may actually have fixed it already -- that's the weirdest part.
  184.     
  185. 0.4b - I don't really have anything interesting to say this time, so I'll just go straight to the mushy stuff :)
  186.     + Yes! Finally! I have managed to work out a way to deal with flickering
  187.       that actually works quite seamlessly with Hyperspeed's current drawing
  188.       engine! Flickering between aliens (when they are so unfortunate as to move
  189.       on top of each other) has been reduced to an invisible minimum. The
  190.       solution involved _a second_ offscreen, but that's all I'm going to say.
  191.       I'm having a hard time understanding how it actually works (the way I
  192.       coded it, it really shouldn't work -- that's why I won't explain it...).
  193.     + Added the ability to constrain a group's movement, provided the group is
  194.       using the horizontal or vertical pattern mode. This is done by using the
  195.       tagPosition.h/.v fields to specify the limits in which a group can move
  196.       in either the horizontal or vertical direction.
  197.     + Made a number of changes to the Initially Towards Ship pattern mode, making
  198.       it work _a_lot_ better. One consequence of this is that this pattern mode
  199.       no longer requires a leader. In fact, it won't utilize the leader variable
  200.       at all -- using anything _but_ -1 will make the aliens behave weird. This
  201.       also lead to a new level, and major changes to level 10.
  202.     + Changed the seed for the QuickDraw random number generator from using
  203.       TickCount() to a TickCount()/GetDateTime() based seed. The game is
  204.       surprisingly more varied now.
  205.     + You can now hold the command key down at startup to disable all the breaks
  206.       (ie. run the game as fast as your Mac can). Also, your can have the option
  207.       key pressed while starting up Hyperspeed to display an FPS counter at the
  208.       bottom left of the screen.
  209.     * Hyperspeed now no longer exits the current game when you pause twice.
  210.       Lucky thing I discovered that one!
  211.     * Fixed a bounds check error in the startup code. It wasn't a necessary
  212.       bug fix -- the code would behave the same way with or without it.
  213.     * Fixed some bugs that were introduced with the new group containment mode.
  214.     * The menubar now hides immediately after a selection has been made. This
  215.       fixes a bug which would cause only parts of any given screen to draw (ie.
  216.       the part covered by the menubar would not be drawn).
  217.     * Removed some redundant timechecks.
  218.     @ Hyperspeed does not run correctly under 1024x768 (and probably resolutions
  219.       above that too). I don't know why yet.
  220.  
  221. 0.3b - I think I'll be about ready to go GM soon... ;) Maybe not. This is the first release to go out to a larger number of beta testers than two (woo-hooo!).
  222.     + Reworked the hiliting buttons on the settings screen. You now get visual
  223.       feedback when you click a button (that is, either the Config keys, Default,
  224.       Cancel or Save button).
  225.     + You can now select default settings on the settings screen.
  226.     + The Hyperspeed interface change has been finalized, with the Registration
  227.       info screen being the last one to get a face-lift.
  228.     + If you have multiple levels files, you can select which one to use by
  229.       double clicking it. This will cause Hyperspeed to "open" the file. If
  230.       you want to switch levels files while Hyperspeed is running, just send
  231.       Hyperspeed to the background and double click the new levels file. It's
  232.       not the perfect solution, I know, but it works.
  233.     + The aliens on help screen #3 now animate. Pretty neat.
  234.     + The SSC now has shields. They are turned on only after a recent crash,
  235.       to allow the pilot to re-prepare for action.
  236.     + Hyperspeed now draws the kind of bonus you receive when you pick up the
  237.       question mark. I had some problems with that one a while, with flickering
  238.       and stuff. It's not entirely gone either. Oh well.
  239.     + The title screen has been changed. Again. This time really for the better,
  240.       more in style with the Hyperspeed interface, I guess...
  241.     - Removed support for changing of sound volume. It will most likely be
  242.       re-added, using + and - to control sound volume. The sound volume will
  243.       also be changed in software, as opposed to in hardware (that is, the
  244.       system volume is not affected by changing the sound volume in Hyperspeed).
  245.     * Fixed a few errors on the bonus help screen.
  246.     * You no longer get a hiscore when you cheat by starting at the first
  247.       level and selecting any or all of the weapons. Should you decide to
  248.       start at level one without any weapons (by going via the level select
  249.       dialog), you will still get a hiscore (after all, you didn't cheat!).
  250.     @ Pixel residue when the SSC crashes with a green, tracking shot. I don't
  251.       know why, and I presently don't consider it a high priority to fix it,
  252.       as it doesn't seem to happen that often.
  253.     @ Hyperspeed has a "memory" problem. When you have completed a game and
  254.       entered a high score, any attempts to bring up a dialog will fail (for
  255.       instance, the about box or the key config). I'm not sure why, but it is
  256.       fixed by going to a different screen and then returning. Weird.
  257.  
  258. 0.2b - Another "large" beta, this one also incorporates a lot of changes to the level editor. The level editor is now capable of creating level bundles, it has a much better GUI, its own LDEF (I wrote it!) and some additional level control (ie. you can now change the laws of physics). The level editor also makes use of the Navigation Services (if available).
  259.     + More levels. Levels can now have their own name, though this name won't
  260.       be displayed by Hyperspeed, only by the level editor.
  261.     + All uses of the gwSet() class are now allocated and deallocated
  262.       dynamically, thus reducing the potential for memory leaks.
  263.     + Another help screen has been added, this one detailing how to play.
  264.     * Quite a number of bugs were fixed in the kLeaderAIPattern module, which
  265.       has resulted in it working the way it is supposed to... I also discovered
  266.       a few bugs on the (so far) two levels that utilizes this pattern type
  267.       (these were not software bugs, but design problems on those levels, 5 and
  268.       12).
  269.     
  270. 0.1b - As promised, the first beta! This version doesn't really sport that many new "visible" features, it's more of an under-the-hood kind of update. That is, apart from the padlock bonus addition ;) In fact, I also added a new alien, the Swifter (see below).
  271.     + The sound volume can now be changed by using the number keys. I have to
  272.       find a better way of doing this, though, since the entire game stops for
  273.       about a second while the volume is being changed. I also need to figure
  274.       out a way to differentiate between keypresses on the main keyboard and
  275.       on the number keyboard island.
  276.     + Added the padlock bonus! No more losing all those power-ups with this
  277.       little beauty!
  278.     + Updated the help screen on bonuses to reflect the new bonus.
  279.     + Changed the probability for either an extra life, luring or padlock
  280.       bonus appearing.
  281.     + Added AppleEvent handling, so when Hyperspeed is asked to quit by, for
  282.       instance, the Finder, it will.
  283.     + Hyperspeed now loads its levels from a file called "Hyperspeed Levels"
  284.       (without the quotes) if it exists. If not, it will try to load them
  285.       from the internal copies within the app, and if that doesn't succeed,
  286.       it displays an error message. Wow. The levels file search isn't quite
  287.       perfect yet, as it will choose any file with that name. I need it to
  288.       recognize only files of type HSLv/HSp∂, and without IM: Files I'm lost...
  289.       Thank God for the Apple online tech info library.
  290.     + You can now cheat using the change level dialog. You can add any weapons
  291.       to your arsenal, and you'll have them on the level you start on. Pretty
  292.       neat, actually :) Oh, and I updated that change level dialog to reflect
  293.       the triple shots. I even added some small icons :)
  294.     + Changed the probability (sort of) again for the padlock, luring and
  295.       extralife bonuses. I know I already stated that I'd changed them above,
  296.       but I thought I'd mention it once more... The changes are equal to each
  297.       other, but the effects are more or less the same. (Basically, I changed
  298.       an if...else...else statement.)
  299.     + You are now given a bonus when you're supposed to have one. (Incredibly
  300.       well put.) This is because Hyperspeed now checks if you have all the shot
  301.       bonuses, and if so, it will loop until it finds a different bonus to give
  302.       you.
  303.     + Made some changes to the speed at which some aliens are able to turn. More
  304.       specifically, I allowed the cloaker to move more swiftly, while the rest
  305.       still move as before.
  306.     + Made the above change more comprehensive, allowing the Cloaker to move
  307.       _faster_ as well. Speedy little bastards! But that isn't all... I also
  308.       added a new alien -- the Swifter (scary background music running..). It
  309.       is almost twice as fast as your regular scout, and is incredibly hard
  310.       to tackle. Four or more of these, and you'll be dead before you know it!
  311.     * Reduced the number of aliens on level 1 by one, and increased the spacing
  312.       between the remaining aliens. This was done to help ease the job of the
  313.       attack AI. Unfortunately, it didn't work. But the level is still changed,
  314.       though...
  315.     * More of a graphical glitch this one. I forgot to update the status bar
  316.       below the playing area when I added the triple shot bonus. This has now
  317.       been done.
  318.     * The break-off-and-attack part of the AI has been improved. How? I now
  319.       initialize a variable that I previously forgot to initialize. This
  320.       variable is crucial when it comes to deciding where the alien "aims" at
  321.       first. The point is, that this should probably fix quite a number of
  322.       ugly alien overlaps.
  323.  
  324. 0.6a - More bug fixes. As usual, I guess. I should probably start having beta versions instead of these pesky alphas, since the basic framework and stuff is pretty much complete now. This has been a rather tiny update, it appears...
  325.     + Key configuration! Yes, that's right, I finally got it working. It has
  326.       been moved into its own dialog, and it works pretty well. Ahh, one less
  327.       thing to worry about :)
  328.     + The Preferences screen has been changed to reflect the changes to the
  329.       key configuration.
  330.     + Made some very minor changes to level 2 and 9, while also adding level 14.
  331.     + You can now get up to _two_ bonuses on one level! Wow, that's incredible!
  332.       (Well, maybe not... It may be gone in the next version...)
  333.     * The final adjustments (apart from the registration code algorithm) has
  334.       been made to the registration engine. The main screen update routine has
  335.       been made "stand-alone", ie. I now no longer have code to draw the
  336.       main screen repeated n times all over my code. 
  337.     > Button hiliting on the Preferences screen.
  338.     > An additional help screen detailing the game, tactics, etc.
  339.  
  340. 0.5a - The tripple blaster seems to be working out quite nicely. I am going to add some more sounds soon. Gameplay seems to be quite OK for the moment... Lots
  341. of bug fixes in this release, and quite a number of features added as well. I guess I must be nearing on completion now :) I'm actually quite pleased with the whole level-thing and all. I'm really content with the content right now (no pun intended (yeah, right!))...
  342.     + The Extra Life and Luring bonuses have been added. The extra life does
  343.       exactly what the name implies, while the luring bonus "gives" one of
  344.       four things: 1) an extra life, 2) either 2000 or 5000 points, 3) deducts
  345.       5000 points or 4) destroys all your weapons, leaving you with your plain
  346.       ol' and simple plasma gun. It can mean the difference between life and
  347.       death...
  348.     + You now get double points for an alien that is not part of a group using
  349.       the pattern AI. Previously, you would get <numOfPoints> + <numOfPoints/2>,
  350.       that is, 1 1/2 times the points you'd normally get.
  351.     + You get a time bonus when you complete a level! The bonus is calculated
  352.       like this: bonus = number of aliens * (1000 / time in seconds). This, of
  353.       course, also means that the level completed screen has been slightly
  354.       altered. It sure is nice to know how much time a level took to complete...
  355.     + A new, vertical AI pattern has been added. Basically, it bases itself upon
  356.       the code used by the horizontal pattern, with minor changes. To use, set
  357.       pattern to simple pattern and pathID to 0. If pathID is -1 or 1, the
  358.       horizontal pattern version is used.
  359.     + The Credits screen has been updated. It now gives credits to some
  360.       additional people who were not credited on the old credits screen (did I
  361.       really have to clarify that?).
  362.     + Added the YL Register Module, thus implementing the You haven't registered
  363.       dialog thingies. Maybe not necessary yet, but it's nice to have it there
  364.       anyway. It's working flawlessly, now all I need to do is come up with
  365.       an algo to calculate reg-codes... (And, no, I'm _not_ putting it in here.)
  366.       The registree's name and reg-code is also drawn to the screen. This also
  367.       includes drawing of the number of copies bought.
  368.     * Fixed a bug where the Game paused screen is not updated after the screen's
  369.       number of colors have been changed (for instance using the ControlStrip).
  370.     * The menubar now updates itself when it is shown on the main screen.
  371.     * Pixels from the starfield no longer occupies the menubar area on the main
  372.       screen if the user changed screen settings while the game was paused. That
  373.       was an annoying little bug.
  374.     * Fixed some "bugs" in the Level Editor. They weren't really bugs, just
  375.       design flaws. Also made the editor vertical AI pattern savvy.
  376.     * Fixed a bug caused by the new extra-life-when-number-of-points-are-more-
  377.       than-... which would give the player infinite lives if he/she had negative
  378.       points when he/she died. It was kind of cool watching those lives spin up
  379.       to 99 in a counter-sort-of fashion, but the game did get just a little bit
  380.       too easy at that point... 
  381.     @ Sometimes, the aliens will all go completely crazy and the drawing of them
  382.       will fail partially (parts of the alien is not erased). If you manage to
  383.       kill them all, the level will not go ahead as programmed (by either going
  384.       to the next level or by bringing in the next wave of aliens). I think I
  385.       fixed it, but I don't have a clue if I _really_ did. I just took a long
  386.       shot and now I hope for the best...
  387.     
  388. 0.4a - Well, not too much progress lately.
  389.     + The double fire bulbs have been replaced with the triple blaster. Waaay
  390.       cool! Why didn't I think of this before?
  391.     + Help screens w/control interface has been added. Finally :)
  392.     + A sound was added. This sound is played when the user clicks a greyed-out
  393.       item on two of the help screens.
  394.     * The grenade's dispersion directions has been fixed -- previously, one
  395.       of the directions would be covered by four shots. In addition, the
  396.       grenade now only releases 22 high speed fragments... This may be reduced
  397.       to 15 due to problems with slow downs on lower end systems (such as mine).
  398.     * Not really being a bug, more of a graphical glitch, the radio buttons on
  399.       the settings screen are now displayed correctly (the ones in the Settings
  400.       pict and the ones in the cicn were different).
  401.  
  402. 0.3a - I recently released the breaks off of Hyperspeed. That was a wild ride...
  403. When the screen was empty (and the SSC dead and gone), the game clocked in at nearly 3000 fps. It ran at a (more or less) stable 300-500 fps when the aliens and ship were on screen -- not too bad, I guess. Suffice it to say that I have now put the breaks back on... (FYI, I have a Performa 6320 @ 120MHz with a 603e processor.) My conclusion from this experiment is that the star blitter is pretty god damn efficient...
  404.     + Hyperspeed now refuses to run if it is "too old". That is, the alpha/beta
  405.       versions will expire within a given time frame.
  406.     + Major optimizations to the drawing engine.
  407.     + The ControlStrip is hid when Hyperspeed is run. Atleast in principle,
  408.       for some reason it doesn't work all the time.
  409.     + Hyperspeed now checks to see if the user has changed the number of colors
  410.       on screen, and changes it back if this has happened. 
  411.     * Some bugs have been fixed in the high scores code -- the resource size
  412.       wasn't being updated at all, leading to some weird errors. Good thing
  413.       I catched that one.
  414.     * Fixed a bug which would cause Hyperspeed to draw negative points when
  415.       the player had more than 32767 points. The actual number of points were
  416.       stored as a long, but the drawing routine only accepted a short... Bummer.
  417.       This bug also applied to adding/checking high scores.
  418.     @ The code to hide the ControlStrip works fine, however, the ControlStrip
  419.       does interfer with the normal workings of Hyperspeed. I don't know what
  420.       causes this, so I won't think to much more about it.
  421.     @ Discovered that I didn't initialize QuickDraw's random number generator.
  422.       That has now been fixed.
  423.  
  424. 0.2a - More levels on the way... The level editor has received some minor interface improvements (welcome ones, I might add). Fixed some "bad language" (and I'm not talking about swearing) in this version history. I've also noticed that the word occuring most in it is "cool". I really need to expand my vocabulary. The big question right now is "will I add mouse movement support?"
  425.     + A new AI mode has been added (or more correctly, a new AI mode subset). It
  426.       allows aliens in a pattern to be controlled by an alien that is not using
  427.       a pattern AI, but rather the alien track ship AI, for instance. It makes
  428.       for some very neat variations, and saves me a lot of work.
  429.     + A number of potential bugs have been fixed in the sprite blitting engine
  430.       (I wasn't taking advantage of a feature I implemented in the actual
  431.       blitting function).
  432.     + Full sound support (I finally worked out the bug in the YL-ShellCodeLib --
  433.       it was a really stupid one too). Now, all I need is sounds...
  434.     + Sounds are played when
  435.        : an alien die
  436.        : a bonus appears
  437.        : when you're game over (two different ones)
  438.        : when you get a high score
  439.     + High scores have been implemented, with all the fun that implies. They are
  440.       even saved to disk as well... Incredible.
  441.     + The main screen is now "click-sensitive", that is, you can now select
  442.       New game, Help, Prefs, etc, using the mouse. Fantastic... (Do I detect
  443.       a hint of irony?)
  444.     + You can now receive any kind of bonus. That is, you no longer have to get
  445.       the double small shots in order to get the alternating fire balls, etc.
  446.       In effect, you can get the grenade as your first bonus :)
  447.     + Preferences are now saved, including key settings -- even though you can
  448.       not configure the keys yet... :)
  449.     + Moving stars can now be turned off completely, in favor of the original,
  450.       static starfield backdrop (which is quite different from the moving stars
  451.       used by the Hyperspeed star animation engine). The backdrop was used in the
  452.       absolute earliest version(s) Hyperspeed.
  453.     + Sounds can be turned off and on.
  454.     + The explosions have been pumped up a bit, with even more fragments. I
  455.       didn't see a reason not to, when there was virtually no speed hit.
  456.     + The cloaking alien has been added.
  457.     - The ammunition concept has been removed. It didn't work they way I
  458.       intended anyway, and I'm too lazy to add the graphics and support required
  459.       for the ammo canisters...
  460.     * The new alien now fires shots that come from its guns, rather than the
  461.       top-left corner of the ship.
  462.  
  463. 0.1a - I've started (and completed, as a matter of fact) working on a level editor for Hyperspeed. I just can't take that ugly template thing in ResEdit any longer... From now on, it's just GUI, GUI and more GUI. And better levels, of course, since I am now able to concentrate on design rather than messing about with the template. The editor is quite cool, by the way.
  464.     + The aliens can now fire their weapons.
  465.     + The maximum number of stars has been increased to 256, while the default
  466.       setting is still 128 (which was the previous maximum).
  467.     + A new alien has been added. It is really cool, and it fires shots that
  468.       track the ship. Very hard indeed...
  469.     + The "Level completed" screen has been redesigned in order to fit better
  470.       into the new interface.
  471.     + The weapon system has been changed to an ammobased one -- I'm not sure that
  472.       I will stay with this approach, it's just a test.
  473.     * Fixed up a lot of code and finally figured out why the debugger refused to
  474.       work.
  475.     * I think I've fixed all of the bigger-than-640x480-screen bugs, after
  476.       getting hold of a lovely utility called Resolüte which changes your
  477.       screen's resolution to "unsupported" ones. My old Apple 13" suddenly
  478.       became a 800x600 monster, which allowed me to test Hyperspeed under
  479.       bigger screen conditions. Excellent!
  480.     * Yess! An alien-being-erased-leaving-pixel-residue bug has finally been
  481.       fixed. And I wasn't even looking for it...
  482.     > AppleEvent support (so that we can quit when we're told to...)
  483.     > Ability to click on selections in the main screen
  484.     > A "wormhole" alien, which will appear and disappear. This little baby will
  485.       shoot with extreme accuracy as well...
  486.  
  487. 0.9d - The game is beginning to get really hard now. I had to increase the number of lives just to pass the first level... I'm not sure that's a good thing :) And
  488. all this with only two types of aliens.
  489.     + Bonuses on screen explode when you die (without doing damage to anything,
  490.       of course). This is to avoid getting blue shots when in effect, they
  491.       can not be used before the preceding weapons have appeared.
  492.     + Aliens in pattern AI mode can now suddenly break of and enter into
  493.       ship track AI mode. This is what makes the game hard... And then there's
  494.       firing aliens, which I will be adding real soon now.
  495.     + Menu support has been added. Hyperspeed can now be sent into the
  496.       background without crashing the Mac :) Who would have known that you
  497.       actually have to call Begin/EndUpdate() in order for the app to go into
  498.       the background... That one was a bitch to find.
  499.     + The game can be paused!
  500.     + The pattern AI has been improved, making aliens moving in a pattern slow
  501.       down before reaching the edge of the screen. Looks great (or atleast better
  502.       than before...)
  503.     + The menubar only shows/hides when the cursor enters _the area_... (spooky!)
  504.     + Hyperspeed has gotten a new title screen, which is sort of in fashion with
  505.       the new main screen (which was added in 0.8d, btw).
  506.     > I am going to add cheat codes :)
  507.     * The aliens no longer overlap each other, due to my genious addition to the
  508.       movement AI. It actually works really well, and on some levels you can take
  509.       advantage of it. Of course, not all the AI modes has gotten this
  510.       improvement, so under some circumstances, the overlapping is really bad.
  511.     ? I'm thinking about adding support for ship movement using the mouse. I
  512.       must try... I have to give it a go...
  513.  
  514. 0.8d - I've decided to ditch the uncloaking algorithm in favor of a much simpler approach. The game is really starting to take shape and I've got a lot of cool,
  515. working stuff.
  516.     + The aliens now "assemble" by re-utilizing the implode algorithm (which is
  517.       basically just an explode with modified vectors and speed). It looks quite
  518.       cool :)
  519.     + I've begun adding sounds. It doesn't sound good... Basically, the sound
  520.       sucks, and for some reason, only _one_ sound plays at a time, even though
  521.       I've allocated four sound channels. Uuuhrg.
  522.     + A new AI mode has been implemented. I call it the ship tracker, and it
  523.       works surprisingly well considering its simplicity. This new mode also
  524.       inspired me to fix the guard AI mode, which now works properly. The first
  525.       level has become very hard over the course of only an hour's worth of
  526.       work... :)
  527.     + Hyperspeed now has a new icon!
  528.     + Hyperspeed's main screen has been redesigned, and I'm quite confident that
  529.       the change was for the better.
  530.     @ Hyperspeed still doesn't do very well on large screens. Pixel residue
  531.       and such still plague the game. Atleast it doesn't crash!
  532.     @ Fading doesn't appear to work when used on a PM 7200 with an Apple 17"
  533.       monitor. I have no idea why, since it works on a different PM 7200 with
  534.       an Apple 17" monitor. Maybe I should try with extensions disabled... ;)
  535.     * Maybe not exactly a bug fix, but as stated above, the guard AI mode now
  536.       works correctly. Also, when aligned vertically or horizontally to the
  537.       ship/target alien, they move in a sort of wavy fashion around either the
  538.       x- or y-axis. Neat.
  539.  
  540. 0.7d - I'm trying to figure out a good (and fast) algorithm to uncloak the aliens. So far, though, I haven't been very successful (either too slow or too
  541. ugly...). I'm wondering if I will have to have them come out of some sort of vortex (saving me a lot of time). Though it wouldn't be as cool... :) I will start adding sound support real soon now.
  542.     + Bonuses and bonus pick-up has been implemented (along with the extra points
  543.       picking up a bonus will give at the end of the level)
  544.     + The game now ends when you don't have any lives left. It also draws the
  545.       number of lives you have left next to the ship on the far right side of
  546.       the screen.
  547.     + The game draws what level that you are on.
  548.     + A game over screen which displays when you're game over.
  549.     + A working Options screen.
  550.     + The infamous grenade has been added and is working. It now spreads 30
  551.       death-hungry high speed fragments in a circular pattern. A couple of these
  552.       clears the first level in a snap.
  553.     > I have designed a new alien, which is sort of a turret going up and down
  554.       the screen. I haven't added it to the game yet, though.
  555.     > ...and along with that alien comes a new pattern and a new AI. The new
  556.       pattern simply (you guessed it) moves the alien up and down. The new AI
  557.       enables the turret to target the ship (and with great precision too!).
  558.       This one too, of course, hasn't been implemented yet.
  559.  
  560. 0.6d - I need to design more aliens. I'm still very positive towards the idea of
  561. uncloaking aliens -- I think it will be a really cool effect once I get it
  562. implemented.
  563.     + Collision detection between the SSC's shots and the aliens has been
  564.       implemented. It works pretty well. The collision detection between the
  565.       ship and the aliens has also been improved.
  566.     + Point handling and drawing has been completed.
  567.     + Levels have been fully implemented, in the sense that Hyperspeed now.
  568.       supports multiple levels, as well as a "summary" screen in between levels
  569.     + Levels now support several "waves" of aliens -- that is, after a fixed
  570.       number of aliens have been killed, one (or more) aliens will appear. This
  571.       also has the neat side-effect of introducing the possibility of an
  572.       end-level boss. Whether or not that will actually be a feature remains to
  573.       be seen.
  574.     > Bonuses/multipliers/point bonuses that appear when aliens are killed. This
  575.       is opposed to previously, when they just fell randomly from the top of
  576.       the screen... (Right now, appearing bonuses are not implemented.)
  577.     * The module producing alien explosions got a couple of bug fixes, mainly
  578.       relating to access fault exceptions (according to the MW Debugger).
  579.     @ Sometimes, Hyperspeed accidentaly doubles the points of one alien.
  580.       This results in Hyperspeed thinking that two aliens have been killed, and
  581.       ends the level when there are one or more aliens still left to kill. 
  582.     @ Hyperspeed's handling of screens larger than 640x480 is not as good as it
  583.       could be... There are a number of small bugs that needs fixing in this
  584.       area.
  585.     @ The clut on the main screen gets screwed up on some Macs/monitors. I don't
  586.       know why this happens, but I'm trying to find a fix.
  587.     @ With many aliens on the screen, there is a distinct delay between the first
  588.       and last moving aliens. This is not really a bug, more a result of some
  589.       more or less "inefficient" blitting/drawing routines. I'm not sure that I
  590.       will prioritize fixing this bug (compared to Swoop and other similar
  591.       shoot-em-ups, the delay isn't all that long). A dirty-rect routine would in
  592.       any case be the best way to go, and would also solve the problem of
  593.       overlapping sprites.
  594.  
  595. 0.5d - I'm making really good progress! The level design seems to work quite well, with the exception of my AI code, which doesn't work well at all. I have decided to use pattern movement in combination with random functions to "fake" an AI instead. I think. I'm amazed at how fast the blitters I use are, taking into
  596. consideration that they only move one byte at a time... (and that is in addition
  597. to stars, multiple explosions and a lot of shots!) So far, I have not used
  598. CopyBits for anything but loading the sprites and the basic interface.
  599.     + Collision detection between the ship and the aliens (meaning that both the
  600.       ship and the aliens can die).
  601.     + Extremely cool implosion effect when the ship "explodes" (that should
  602.       be implodes...).
  603.     + Preliminary pattern movement. The aliens can now follow a "leader", which
  604.       decides what heading the aliens should take. Very simple, but very much
  605.       code. I'm not looking forward to see how much code I will have to add
  606.       for _real_ pattern movement...
  607.     + Point framework has been set up. No points are drawn to the screen yet,
  608.       though (I consider this a low priority at the time).
  609.     * All graphics work correctly, and Hyperspeed no longer crashes due to
  610.       blitter problems or that kind of stuff
  611.     @ If you manage to die again fast enough after having been killed, you will
  612.       not get an implosion effect. This is due to the complexity of the
  613.       explosion engine and the fact that there is only _one_ ship explosion
  614.       slot (whereas there are 30 for the aliens...). I think that increasing the
  615.       time before a new ship will solve the problem.
  616.     ? When new aliens appear, maybe I should try to have them "uncloak" ? I'm
  617.       thinking of an effect somewhat like that of the Shadows in Babylon 5. I'll
  618.       have to consider if it can be done in real time... (I'm not going to add
  619.       anims for each and every alien just to have them uncloak!)
  620.  
  621. 0.4d - Ehrm, this is a pretty much complete rewrite. The sprite blitting routines have been merged into one, and sprites are now loaded from cicn resources. The entire application framework has been changed, and it now relies on a number of utility functions found in the YL-ShellCodeLib. The utility functions include object oriented sound management and graphics utilities.
  622.     + Complete rewrite (is that a feature?)
  623.     + Animated aliens (when they turn left/right, that is)
  624.     + A new alien -- the dreadful spinning devil
  625.     + Levels!!! Yes, that's right! I have settled on a level structure, and
  626.       people can actually design their own levels if they want... I'll be
  627.       bundling the TMPL for the HSLv resource so you can see what all the action
  628.       is based upon...
  629.     + Fading now relies upon Matt Slot's excellent gamma fading lib. It's not
  630.       as smooth as clut fading, but it does the trick.
  631.     + Hyperspeed now handles screens larger than 640x480 -- but until I get it
  632.       tested, I won't know for sure...
  633.     + All the stuff that was in the previous two versions, with the notable
  634.       exception of a working options screen and a number of other small quirks
  635.       (points, among others)
  636.     * Shots that are "offscreen" (the blue shots) now reappear onscreen again
  637.       if they during their path went offscreen
  638.     ? imploding ships... Instead of the "old and boring" plain particle
  639.       explosion, I'm thinking of adding particle implosion before the actual
  640.       explosion (that is, particles that move _inwards_ to the ship).
  641.     ? A new weapon that charges, then fires a particle beam of some sort...
  642.       Maybe in conjuntion with the imploding ships?
  643.     @ Drawing may not always work correctly (leading to crashes), but I think
  644.       I've got it sorted out -- it doesn't crash so often now :-)
  645.  
  646. 0.3d - I'm making some real progress now. Atleast I think so... I will start working on the level design and implementation real soon now.
  647.     + Aliens that fire (with two different weapons that do _exactly_ the same
  648.       thing -- kill you!!!). They fire a bit too often right now, though...
  649.     + Working Options screen, though prefs are not saved right now, and the
  650.       key settings are not configurable yet. You can currently change number
  651.       of stars, 3D star scrolling, explosion detail, sound on/off and stereo
  652.       panning on/off
  653.     
  654.     > Levels... Yes that's right (I just forgot it for 0.2d)
  655.     
  656.     @ The stereo panning doesn't work the way it should for some weird and
  657.       obscure reason. It may be related to my hardware panning settings, but
  658.       since I haven't been able to find/change these settings anywhere, I reason
  659.       that it must be a software bug (i.e. a bug in Hyperspeed)
  660.  
  661. 0.2d -    Okay, since I have worked on Hyperspeed for some time now, and not bothered to keep a version history around, Hyperspeed has been noted as 0.2d for quite a while (there was no 0.1d). Anyway, here is a listing of features that are currently implemented:
  662.     + Game screen
  663.     + Credits and help screen (help screen not fully implemented yet,
  664.       it currently only contains one screen)
  665.     + A settings screen (which isn't fully implemented either -- but it
  666.       looks good!)
  667.     + Complete control over SSC-12 and weapons
  668.     + Bonuses appear at random intervals (quite frequently for testing purposes)
  669.     + Aliens appear randomly, and very often
  670.     + Basic point-handling, no high score list
  671.     + Extremely cool starfield which tracks the ship and behaves in a 3D-like way
  672.     + Even cooler pixel explosions
  673.     + Good sound support, lame sounds, and stereo panning!
  674.     + Excellent drawing engine (CopyBits()/direct to screen combo)
  675.     + Nice fading (works flawlessly -- thanks csmpg/Tricks of the Mac Game
  676.       Programming Gurus!)
  677.     
  678.     - Blinking/colorchanging stars (they just looked too.. uhm.. psychedelic!)
  679.     
  680.     > Aliens w/weapons
  681.     > Better sounds
  682.     > Better graphic representation of the aliens
  683.     > Levels
  684.     > Point/bonus multipliers
  685.     > High scores
  686.     > Settings that work
  687.